1. Field of the Invention
The present invention relates to an arithmetic method and apparatus for supporting Advanced Encryption Standard (AES) and Academy, Research Institute and Agency (ARIA) encryption/decryption functions.
2. Discussion of Related Art
An AES block encryption algorithm was selected as an American standard by the National Institute of Standards and Technology (NIST) of the United States in 2001. In addition, an ARIA block encryption algorithm was selected as a Korean Industrial Standard. The two domestic and foreign standard block encryption algorithms, i.e., the AES and ARIA algorithms, are widely used in various encryption fields, such as smart cards, electronic passports, server-level encryption equipment, and so on.
Most encryption operations take a long time to complete and thus are implemented in hardware. In the early stages of AES or ARIA hardware implementation, research comparing and analyzing performance of the hardware according to high-performance implementation techniques or methods was generally conducted. However, with the gradual development of wireless technology, such as cellular phones and Radio Frequency Identification (RFID), research on miniaturization and implementation of low power consumption has been conducted recently.
Research on an encryption operation apparatus having integrated hardware supporting at least 2 encryption algorithms is less active than research on an arithmetic apparatus for a single encryption algorithm. This is because, when compared to software implementation, hardware implementation generally requires twice as many resources to implement 2 algorithms. However, as illustrated in FIGS. 1 and 2, the AES and ARIA algorithms use round functions having the similar Substitution Permutation Network (SPN) structure, thus having many common features. First, in an S-box operation, which is a basic operation of a substitution layer, the 2 algorithms use the same finite field GF(28). In addition, from a scalar multiplication matrix operation used in a diffusion layer, it is possible to extract terms used in common by the two algorithms.